package com.jch.dm.chapter_12_decorator;

/**
 * @author: Administrator
 * @create: 2020/03/31 16:38
 **/
public class SideBorder extends Border {
    /**
     * 装饰边框的字符
     */
    private char borderChar;

    /**
     * 构造方法
     * 指定装饰物和装饰边框的字符
     *
     * @param display    装饰物
     * @param borderChar 装饰边框的字符
     */
    public SideBorder(Display display, char borderChar) {
        super(display);
        this.borderChar = borderChar;
    }

    /**
     * 获取横向字符数
     *
     * @return 字符数
     */
    @Override
    public int getColumns() {
        return 1 + display.getColumns() + 1;
    }

    /**
     * 获取纵向字符数
     *
     * @return 字符数
     */
    @Override
    public int getRows() {
        return display.getRows();
    }

    /**
     * 获取第row行的字符串
     *
     * @param row 行数
     * @return 字符串
     */
    @Override
    public String getRowText(int row) {
        return borderChar + display.getRowText(row) + borderChar;
    }
}
